-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix broken sdist #219
fix broken sdist #219
Conversation
Thank you for the help, @szabolcsdombi! I realize that this was a bad approach. Obviously I shouldn't copy files around when using setup.py. Unfortunately I don't know much about Python typing stubs, especially not for C-API modules. I guess I'll have to research before being able to correctly include the typing stubs. Either way, this PR is currently incomplete, since it removes the copy operations, but still expects typing stubs to exist in "glm-stubs". I'll have to remove typing stubs for the time being and address it at a later time. -- EDIT |
os and shutil no longer required in setup.py
You are experiencing issues with stubs due to they are a fairly new feature. I tried all variations of stubs and I like the stubs module the most for objective reasons. https://github.com/szabolcsdombi/zengl/blob/97e55ae8a4ac02f808f8e927abccacfa51fdf5f3/setup.py#L10-L14 I ship no stubs for the web/pyodide version. If you are into code formatters, black can actually format the pyi files too. you just have to run it on the stubs module. There is also progress on including pyi files automatically: see: pypa/setuptools#3136 (comment) I am going to test the master branch with this PR merged, and also with Pyodide. |
Thanks for letting me know. I thought I was just missing the point or using a deprecated way of providing typing stubs (as I remember having difficulties getting information on how to use the "-stubs" module).
That is most impressive! I didn't know using Python in the web using webassembly was already possible, let alone using OpenGL. Your work is really amazing (not just the PyWeek entry) and I'm honored that you use my humble library.
You're very welcome. Your help and input is always appreciated 😊 |
The sdist is broken because the setup.py cannot be called to get the package metadata because there is a copy operation at the root level.
When executing
pip download PyGLM==2.7.0 --no-binary=:all:
the downloaded source is not enough to get all the information about your package/module (for historical reasons, wheels do this better).pip runs the setup.py to extract the metadata. This is not possible due to the copy operations in the root.
Insead of including those files in the MANIFEST.in as a hotfix. I removed the entire submodule and the copy operation from the setup.py as it would be correct.
Fixing it by other means, even adding the copy as a side effect for the build would just cause additional troubles.
Please consider merging this and maybe adding an acknowledgement to the author of the other repo.
stubs should clearly not be a submodule.
PS: glm should, that is 100% correct, submodules are great.